【Python】芝麻HTTP代理系列保姆级全套攻略(对接教程+自动领取每日IP+IP最优算法) |
您所在的位置:网站首页 › 代理IP 那里来的 › 【Python】芝麻HTTP代理系列保姆级全套攻略(对接教程+自动领取每日IP+IP最优算法) |
最后关注、收藏、点赞3连😀!!! 最后关注、收藏、点赞3连😀!!! 最后关注、收藏、点赞3连😀!!! 最后关注、收藏、点赞3连😀!!! 文章目录 前言一、官方对接文档看不懂?二、白嫖免费IP,不存在每日手动领取三、什么?IP时长不统一,如何获取最优IP?总结 前言看过之前的博客的都知道,博主最近在捣腾芝麻代理,白嫖免费IP,对于使用方法我就不做说明了,我不是宣传人,进入正题!如果看了有不懂或有问题请评论指正! 提示:以下是本篇文章正文内容,下面案例可供参考 一、官方对接文档看不懂?这里插一嘴,教程中的代码需要这样配置: 1、一定要是json格式 2、提取数量大于1(提取不花钱,使用才花钱) 3、属性一定要有IP:Port、过期时间 其他无所谓 爬虫增加代理池:使用稳定第三方芝麻代理IP 教程(详细可用) 二、白嫖免费IP,不存在每日手动领取每日需要手动领取,且当天失效,贼麻烦,不动手获取看这里: 【Python】记录抓包分析自动领取芝麻HTTP每日免费IP(成品+教程) 三、什么?IP时长不统一,如何获取最优IP?如下图,可以看到个别时长比较短,当然你有钱,可以去开通时长长的,我用的是免费的只有0~25分钟 成品图: 相同的情况下随机取一个即可 代码如下: # -*- coding: utf-8 -*- import requests import datetime #芝麻ip时间选优算法 # 获取芝麻代理ip # url选择json url = "官方给你的接口" # url选择json body = { } headers = { } response = requests.post(url, json=body, headers=headers) # print(response.text) ip_data = response.json() # print(ip_data['code']) if ip_data['code']==0: print("获取芝麻代理ip成功"); #每次读取10条记录对比,芝麻ip每日免费20个 global excellent_ip global excellent_ip_port new_data=ip_data member = [] #建立数据入口 date1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') d1 = datetime.datetime.strptime(date1, '%Y-%m-%d %H:%M:%S') for geshu, val1 in enumerate(ip_data['data']): #获得ip个数geshu print(new_data['data'][geshu]) # 将每个时间转换为时间戳加入新数组 new_time=new_data['data'][geshu]['expire_time'] d2 =datetime.datetime.strptime(new_time, '%Y-%m-%d %H:%M:%S') d = d2-d1 sec= format(d.seconds);#获取秒数 sec=int(sec) member.append(sec) # print(member) # 冒泡排序 member.sort(reverse=True) #从大到小 print(member) #最优结果: print("最优时间结果"); print(member[0]); #对比得到该时间的ip for geshu2, val2 in enumerate(ip_data['data']): #获得ip个数geshu new_time2=new_data['data'][geshu2]['expire_time'] d2 =datetime.datetime.strptime(new_time2, '%Y-%m-%d %H:%M:%S') d = d2-d1 #减去固定的时间点 sec= format(d.seconds);#获取秒数 sec=int(sec) if sec==member[0]: print(sec) print("符合最优时间的ip及其端口:") print(new_data['data'][geshu2]['ip']) print(new_data['data'][geshu2]['port']) excellent_ip=new_data['data'][geshu2]['ip'] excellent_ip_port=new_data['data'][geshu2]['port'] # TODO: write code... # TODO: write code... else: print("获取ip失败"); print("最后选择结果:"); print(excellent_ip) print(excellent_ip_port) 总结提示:这里对文章进行总结: 本文侧重第三部分,说一下思路,将获取到的IP到期时间与当前时间比较,通过排序后选出时间最长的一个(包含相同时间)IP,在结合业务处理下即可!! 以上就是今天要讲的内容 最后关注、收藏、点赞3连😀!!! 最后关注、收藏、点赞3连😀!!! 最后关注、收藏、点赞3连😀!!! |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |